package com.duck.user.service;

import java.util.List;

public interface UserFollowService {

    /**
     * 添加关注记录
     * @param followerId 当前用户ID（关注者）
     * @param followingId 被关注者ID
     */
    void followUser(Long followerId, Long followingId);

    /**
     * 取消关注
     * @param followerId 当前用户ID（关注者）
     * @param followingId 被关注者ID
     */
    void unfollowUser(Long followerId, Long followingId);

    /**
     * 查询关注数量（当前用户关注的人数）
     */
    int countFollowing(Long userId);

    /**
     * 查询粉丝数量（关注当前用户的人数）
     */
    int countFollowers(Long userId);

    /**
     * 获取关注列表（返回被关注者的 ID 集合）
     */
    List<Long> getFollowingList(Long userId);

    /**
     * 获取粉丝列表（返回关注者的 ID 集合）
     */
    List<Long> getFollowersList(Long userId);
}
